package com.microjobsinc.mjandroid;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.microjobsinc.mjandroid.MicroJobsDatabase.EmployersCursor;


/**
 * AddJob
 */
public class AddJob extends Activity {
    private static Button btnAddJob;
    private static Spinner spnEmployer;
    private static TextView txtTitle;
    private static TextView txtDescription;
    private MicroJobsDatabase db;

    private class Employer {
    	public String employerName;
    	public long id;
    	Employer( long id, String employerName){
    		this.id = id;
    		this.employerName = employerName;
    	}
    	@Override
    	public String toString() {
    		return this.employerName;
    	}
    }

    // Create a button click listener for the AddJob button.
    private final Button.OnClickListener btnAddJobOnClick = new Button.OnClickListener() {
        public void onClick(View v) {
        	Employer employer = (Employer)spnEmployer.getSelectedItem();
//        	Toast.makeText(
//    			AddJob.this, 
//    			String.format(
//					"Employer: %s (%d)\nTitle: %s\nDesc: %s", 
//					employer.employerName, 
//					employer.id,
//					txtTitle.getText(),
//					txtDescription.getText()
//				), 
//    			Toast.LENGTH_SHORT
//			).show();
        	if (employer.id<0 || txtTitle.getText().length()==0 || txtDescription.getText().length()==0){
	        	Toast.makeText(AddJob.this, "Fill out the form completely first.", Toast.LENGTH_LONG).show();
        	} else {
	        	db.addJob(employer.id, txtTitle.getText().toString(), txtDescription.getText().toString());
	        	Toast.makeText(AddJob.this, "Job added", Toast.LENGTH_SHORT).show();
	        	//spnEmployer.setSelection(0); // select "choose an employer"
	        	txtTitle.setText("");
	        	txtDescription.setText("");
        	}
    	}
    };


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        db = new MicroJobsDatabase(this);
        setContentView(R.layout.addjob);

        // Find the controls
        btnAddJob = (Button) findViewById(R.id.btnAddJob);
        spnEmployer = (Spinner) findViewById(R.id.spnEmployer);
        txtTitle = (TextView) findViewById(R.id.txtTitle);
        txtDescription = (TextView) findViewById(R.id.txtDescription);

        // btnAddJob
        btnAddJob.setOnClickListener(btnAddJobOnClick);

        // spnEmployer
        List<Employer> employersList = new ArrayList<Employer>();
        employersList.add(new Employer(-1, "Choose an employer"));
        EmployersCursor c = db.getEmployers();
        for(int i=0; i<c.getCount(); i++){
        	c.moveToPosition(i);
        	employersList.add(new Employer(c.getColId(),c.getColEmployerName()));
        }
        
        ArrayAdapter<Employer> aspnEmployers = new ArrayAdapter<Employer>(
        		this, android.R.layout.simple_spinner_item, employersList);
        aspnEmployers.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spnEmployer.setAdapter(aspnEmployers);
    }

    /**
     * @see android.app.Activity#onResume()
     */
    @Override
    public void onResume() {
        super.onResume();
    }

    /**
     * @param icicle
     */
    public void onPause(Bundle icicle) {
        super.onPause();
    }

}
